# 一球从100米高度自由落下，每次落地后反跳回原高度的一半；再落下，求它在第10次落地时，共经过多少米？第10次反弹多高？

# 方法一
# 反弹次数
n=10
# 高度
h=100.0

s=0.0
t=0.0
for i in range(n):
    t = h/2
    #print("第 %d 次落地！反弹 %f 米！" % (i + 1, t))
    if i != n-1:
        s = s+ h + t
    else:     # 它在第10次落地时，没有反弹
        s = s + h
    h = t
print("方法一 第%f次反弹经过 %f米,反弹高度为%f \n" %(n,s,t))


# 方法二
a = [100]
sum = 0
for i in range(10):  # 计算反弹并插入a列表中
    x = a[i] / 2
    a.append(x)
    #print("第 %d 次落地！反弹 %f 米！" % (i + 1, x))
for i in a[0:-1]:  # 计算到第10次落地时的总路程
    sum += i * 2
print("共经过%f米！" % (sum - 100))
print("第十次反弹 %f 米！" % a[-1])


